package net.begincode.service.code;

import java.util.List;

import net.begincode.bean.BcCode;

public interface CodeService {
	/**
	 * 保存代码
	 * */
	public int saveCode(BcCode bcCode);
	
	/**
	 * 查询最新n个code
	 * */
	public List<BcCode> selCodeLimitN(int n);
	
	/**
	 * 根据章节查询最新n个代码
	 * */
	public  List<BcCode> selNewCodeByChapterIdCache(String chapterId,int n);
	/**
	 * 根据id查询code
	 * */
	public BcCode selCodeById(String codeId);
	/**
	 * 根据id查询code,cache
	 * */
	public BcCode selCodeByIdCache(String codeId);
	
	/**
	 * 根据navId查询code
	 * */
	public List<BcCode> selCodesByNavId(String navId);
	/**
	 * 根据navId查询code
	 * */
	public List<BcCode> selCodesByNavIdCache(String navId);
	
	/**
	 * 根据课程表是查询相关最新代码n项
	 * */
	public List<BcCode> selCodesByCourseId(String courseId,int n);
	/**
	 * 根据课程表是查询相关最新代码n项
	 * */
	public List<BcCode> selCodesByCourseIdCache(String courseId,int n);
	
	/**
	 * 热门代码
	 * */
	public List<BcCode> selHotCodeLimit(int n);
	/**
	 * 热门代码
	 * */
	public List<BcCode> selHotCodeLimitCache(int n);
	
	/**
	 * 查询共享代码
	 * */
	public List<BcCode> selCodeByParam(BcCode bcCode);
	/**
	 * 修改共享代码
	 * */
	public int updCode(BcCode bcCode);
	/**
	 * 修改代码查看次数
	 * */
	public void updCodeViewCount(String id, int count);
}
